package com.tedu.day02.oop;

/**
 * this关键字---super关键字---使用完全一致
 * 不需要继承---当前类，指代当前
 * 使用方式：调用当前类的属性、方法、构造器
 *         this属性         【当前类的属性赋值】
 *                           出现方法中,构造方法
 *                           区别当前类的属性与参数“名称”一致
 *        this方法
 *        this()              多个有参构造器
 *  笔试题：this跟super关键字区别？
 * *            this  调用本类的属性，方法，构造器
 * *            super 调用父类的属性，方法，构造器，存在继承关系，使用super
 * *            this()与super()--传递参数：赋值
 * *            this() 调用本类的其他构造器--构造器首行
 * *            super() 调用父类的其他构造器--子类构造器首行
 * *            请问this()与super()可以同时出现在对象构造器中
 */

public class This关键字 {
    int i;   //属性---很// 少赋值【声明未付值】---构造器或者方法中赋值
    int j;    //属性---很少赋值【声明未付值】---构造器或者方法中赋值

    public This关键字(int i, int j)
    {
        this.i = i;
        this.j = j;
    }

    //构造器：有参
    public This关键字(int i){  //需求：创建1个参数对象，给i和j赋值【跟super一样】
        this(3,4);//调用其他有参构造器
        this.i=i;    //常见：this.属性【当前类下属性】：参数
    }
     //方法---this.方法
    public void testI(){
        System.out.println("我是I");
    }
    public void testJ(){   //调取--输出：我是I  我是J
         this.testI();
        System.out.println("我是J");

    }
    public static void main(String[] args) {
       // System.out.println(new This关键字(1));  //属性没有输出语句
        new This关键字(1).testJ();  //方法有输出语句
    }


}
